package com.wxapp.sale.service.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wxapp.common.constant.pojo.vm.ResultVm;
import com.wxapp.common.constant.pojo.vo.UserVo;
import com.wxapp.common.core.filter.except.ThrowMyException;
import com.wxapp.sale.api.pojo.vm.goods.PGoodsAddFileVm;
import com.wxapp.sale.api.pojo.vm.goods.PGoodsAllFileDetailVm;
import com.wxapp.sale.api.pojo.vm.goods.PGoodsDetailVm;
import com.wxapp.sale.api.pojo.vm.goods.PGoodsPageVm;
import com.wxapp.sale.api.pojo.vo.goods.QGoodsAddFileVo;
import com.wxapp.sale.api.pojo.vo.goods.QGoodsAddVo;
import com.wxapp.sale.api.pojo.vo.goods.QGoodsPageVo;
import com.wxapp.sale.api.pojo.vo.goods.QGoodsUpdateVo;

import java.util.List;

/**
 * @author lgl
 * @Description 商品
 * @Datetime 2022/6/13 10:00
 * @Modified By
 */
public interface GoodsService {

    ResultVm<Page<PGoodsPageVm>> page(QGoodsPageVo qPageVo, UserVo userVo);

    ResultVm<String> add(QGoodsAddVo qGoodsAddVo, UserVo userVo);

    ResultVm<String> update(QGoodsUpdateVo qGoodsUpdateVo, UserVo userVo);

    ResultVm<String> delGoods(String id);

    ResultVm<PGoodsDetailVm> detail(String id) throws ThrowMyException;

    ResultVm<String> addFile(String id, QGoodsAddFileVo qAddVo, UserVo userVo);

    ResultVm<PGoodsAddFileVm> getFiles(String id);
    ResultVm<List<PGoodsAllFileDetailVm>> getFilesDetail(String id);

    ResultVm<List<PGoodsPageVm>> list(List<String> ids, UserVo userVo);


}
